-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Allow for scripts in CKS ISO to fully control CKS deployment #9087
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #9087 +/- ##
============================================
- Coverage 15.28% 15.28% -0.01%
- Complexity 11535 11538 +3
============================================
Files 5425 5424 -1
Lines 474138 474334 +196
Branches 58984 59493 +509
============================================
+ Hits 72486 72508 +22
- Misses 393584 393768 +184
+ Partials 8068 8058 -10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@JSpon does this also need a change in |
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 9638 |
I like the idea to setup cks cluster in another way than user-data. can you please also share the |
@shwstppr, @weizhouapache - sure. I am testing examples of setup-kube-system (and deploy-kube-system) and will update my PR with the changes to the create-kubernetes-binaries-iso.sh and the examples (and a README.md) after testing is complete |
09f7fe5
to
0a374aa
Compare
I made the update to add examples. I had an issue with the first commit, so fixed it and force pushed with the updates. |
thanks @JSpon it looks like refactoring, almost all codes are copied from the k8s-*.yaml |
@blueorangutan package |
@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress. |
Packaging result [SF]: ✔️ el7 ✔️ el8 ✔️ el9 ✔️ debian ✔️ suse15. SL-JID 9716 |
@weizhouapache, the code in basic/scripts is a direct copy, meant as a starting point. The code in cilium has changes only in control-node. The changes are lines 29-35 and 51-63 in setup-kube-system and 31 and 56-57 in deploy-kube-system.tmpl. I can remove the other directories (control-node-add and node) as well as setup-containerd.tmpl in cilium since they aren't needed. |
@blueorangutan test alma9 kvm-alma9 |
@DaanHoogland a [SL] Trillian-Jenkins test job (alma9 mgmt + kvm-alma9) has been kicked to run smoke tests |
[SF] Trillian test result (tid-10329)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@JSpon , sorry to bother you with the apache bylaws, but all files need a license header, except the very trivial ones.
scripts/util/cks-samples/basic/scripts/control-node-add/deploy-kube-system.tmpl
Outdated
Show resolved
Hide resolved
scripts/util/cks-samples/basic/scripts/control-node-add/setup-containerd.tmpl
Outdated
Show resolved
Hide resolved
scripts/util/cks-samples/basic/scripts/control-node-add/setup-kube-system
Outdated
Show resolved
Hide resolved
scripts/util/cks-samples/basic/scripts/control-node/deploy-kube-system.tmpl
Outdated
Show resolved
Hide resolved
scripts/util/cks-samples/cilium/scripts/control-node/setup-containerd.tmpl
Outdated
Show resolved
Hide resolved
scripts/util/cks-samples/cilium/scripts/control-node/setup-kube-system
Outdated
Show resolved
Hide resolved
scripts/util/cks-samples/cilium/scripts/node/deploy-kube-system.tmpl
Outdated
Show resolved
Hide resolved
scripts/util/cks-samples/cilium/scripts/node/setup-containerd.tmpl
Outdated
Show resolved
Hide resolved
Sorry about that. Thanks for pointing those out. I have made the updates. |
@JSpon
I do not have suggestion for now. I have some simple changes to install cilium by command lines. I will create a draft PR. Maybe we can have more discussions and get a better solution. I like the idea to run some customized scripts before or after k8s setup. |
@weizhouapache, understood. I can also come up with a shell script to extract the information from the existing yml files instead of including copies, and figure a way of easily add cilium into that. This would remove the 18 sample files with all of the duplication in favor of the script, if it is worth it. |
Description
This PR...
allows for the CKS cluster to be installed and configured with configuration files in the ISO, thus allowing for more flexibility in the cluster creation. This will allow for the cluster to be built with a custom configuration for kubeadm, as well as packages to be installed using tools like Helm.
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
How Has This Been Tested?
This has been tested in our test environment with custom ISOs that install Cilium instead of Weave, install/upgrade custom Helm charts as part of the deployment, and configure CSI drivers so that CloudStack volumes can be used for persistent volumes.
How did you try to break this feature and the system with this change?